@echo off
chcp 65001
echo 开始部署 NestJS 应用...

REM 检查 Node.js 是否安装
node --version >nul 2>&1
if errorlevel 1 (
    echo 错误: Node.js 未安装
    pause
    exit /b 1
)

REM 检查 npm 是否安装
npm --version >nul 2>&1
if errorlevel 1 (
    echo 错误: npm 未安装
    pause
    exit /b 1
)

echo Node.js 版本: 
node --version
echo npm 版本: 
npm --version

REM 安装依赖
echo 安装依赖...
call npm install

REM 构建应用
echo 构建应用...
call npm run build

REM 检查构建是否成功
if not exist "dist" (
    echo 错误: 构建失败，dist 目录不存在
    pause
    exit /b 1
)

echo 构建成功！

REM 检查端口是否被占用
set PORT=3000
netstat -an | find ":%PORT%" | find "LISTENING" >nul
if not errorlevel 1 (
    echo 警告: 端口 %PORT% 已被占用
    echo 正在停止占用端口的进程...
    for /f "tokens=5" %%a in ('netstat -ano ^| find ":%PORT%" ^| find "LISTENING"') do (
        taskkill /f /pid %%a >nul 2>&1
    )
    timeout /t 2 /nobreak >nul
)

REM 启动应用
echo 启动应用在端口 %PORT%...
echo 应用将在以下地址运行:
echo - HTTP: http://localhost:%PORT%
echo - 健康检查: http://localhost:%PORT%/health
echo.
echo 按 Ctrl+C 停止应用

REM 启动应用
call npm run start:prod 